using System;
using System.ComponentModel;
using System.Data;
using System.Runtime.Serialization;
using Common;

namespace DataAccess
{
	/// <summary>
	/// A custom serializable DataTable containing Mod_preguntas_encuestas information.
	/// </summary>
	[Serializable()]
	[DesignerCategory("code")]
	public class EncuestaPreguntaData : DataTable
	{
		///
		/// Constants for table and fields mapping
		///
		public const String MOD_PREGUNTAS_ENCUESTAS_TABLE = "MOD_PREGUNTAS_ENCUESTAS";
		public const String ENC_ID_FIELD = "ENC_ID";
		public const String PRE_ID_FIELD = "PRE_ID";
		public const String RES_ID_FIELD = "RES_ID";
		public const String RES_TIPO_FIELD = "RES_TIPO";
		public const String RES_TIPO_NOMBRE_FIELD = "RES_TIPO_NOMBRE";
		public const String RES_NOMBRE_FIELD = "RES_NOMBRE";
		public const String PRE_PREGUNTAS_ENCUESTAS_FIELD = "PRE_PREGUNTAS_ENCUESTAS";
		public const String COUNTER_FIELD = "COUNTER";


		protected EncuestaPreguntaData(SerializationInfo info, StreamingContext context)
		{
		}

		public EncuestaPreguntaData()
		{
			BuildDataTables();
		}


		/// <summary>
		/// Creates the following datatables: Mod_preguntas_encuestas
		/// </summary>
		private void BuildDataTables()

		{
			this.Columns.Add(ENC_ID_FIELD, typeof (Decimal));
			Columns[ENC_ID_FIELD].ExtendedProperties.Add(Utilidad._EXCLUIR_COLUMNA_AUDITORIA, Utilidad.SI);

			this.Columns.Add(PRE_ID_FIELD, typeof (Decimal));
			Columns[PRE_ID_FIELD].ExtendedProperties.Add(Utilidad._EXCLUIR_COLUMNA_AUDITORIA, Utilidad.SI);

			this.Columns.Add(RES_ID_FIELD, typeof (Decimal));
			Columns[RES_ID_FIELD].ExtendedProperties.Add(Utilidad._EXCLUIR_COLUMNA_AUDITORIA, Utilidad.SI);
			
			this.Columns.Add(PRE_PREGUNTAS_ENCUESTAS_FIELD, typeof (String));
			Columns[PRE_PREGUNTAS_ENCUESTAS_FIELD].Caption = "Pregunta";

			this.Columns.Add(RES_TIPO_FIELD, typeof (Decimal));
			Columns[RES_TIPO_FIELD].ExtendedProperties.Add(Utilidad._EXCLUIR_COLUMNA_AUDITORIA, Utilidad.SI);

			this.Columns.Add(RES_TIPO_NOMBRE_FIELD, typeof (String));
			Columns[RES_TIPO_NOMBRE_FIELD].Caption = "Tipo Respuesta";
			
			this.Columns.Add(RES_NOMBRE_FIELD, typeof (String));
			Columns[RES_NOMBRE_FIELD].Caption = "Respuesta";
			
			this.PrimaryKey = new DataColumn[] {this.Columns[EncuestaPreguntaData.PRE_ID_FIELD]};
		}

		/// <summary>
		/// Add a new row to the table
		/// </summary>
		/// <param name="row">Dataset row</param>
		public void addEncuestaPregunta(DataRow row)
		{
			this.Rows.Add(row);
		}
	}
}